package net.maku.qdd.service;

import net.maku.qdd.common.utils.PageResult;
import net.maku.qdd.vo.TicketVO;
import net.maku.qdd.vo.TicketDetailVO;
import net.maku.qdd.query.TicketQuery;
import java.util.List;

/**
 * 优惠券
 *
 * @author MAKU babamu@126.com
 * <a href="https://maku.net">MAKU</a>
 */
public interface TicketService {

    PageResult<TicketVO> page(TicketQuery query);

    TicketVO get(Long id);


    void save(TicketVO vo);

    void update(TicketVO vo);

    void delete(List<Long> idList);


    void export();

    // 小程序专用方法
    TicketVO getByTicketCode(Integer ticketCode);

    PageResult<TicketVO> searchByMerchantName(String merchantName, Integer page, Integer limit);

    // 获取优惠券详细信息（包含商家和商品信息）
    TicketDetailVO getDetailByTicketCode(Integer ticketCode);

    PageResult<TicketDetailVO> searchDetailByMerchantName(String merchantName, Integer page, Integer limit);

    // 根据商品名称搜索优惠券详细信息
    PageResult<TicketDetailVO> searchDetailByGoodsName(String goodsName, Integer page, Integer limit);
}